using GroupSix.Domain.Entity.App;
using GroupSix.Domain.common;

namespace GroupSix.Domain.Repositories;

/// <summary>
/// 文章仓储接口
/// </summary>
public interface IArticleRepository : IRepository<GsArticle>
{
    Task<PageResult<GsArticle>> GetArticlesAsync(string? keyword, Guid? categoryId, string? status, string? authorName, int page = 1, int pageSize = 20);
    Task<List<GsArticle>> GetArticlesByTagAsync(string tag, int page = 1, int pageSize = 20);
    Task<int> CountByCategoryAsync(Guid categoryId);
    Task<List<GsArticleCategory>> GetCategoriesAsync();
} 